Quality of experience (QoE) is used to evaluate the quality of a service from a common user's experience. In an Internet Protocol Television (IPTV) service, the speed of channel switching is an important index affecting the QoE. The channel switching time indicates the time from when a user delivers a channel switching instruction to when the user watches a new channel. After a user sends a channel switching instruction to a client device, a set top box (STB) sends a channel switching request to a server that provides channel switching services (hereinafter referred to as a channel switching server). After receiving the channel switching request, the server responds to the request and provides the services of a new channel for the user in unicast mode. Then after a period of unicast, a multicast server provides the services of the channel for the user. Within the period from the sending of the channel switching instruction to the reception of the information of the new channel, the client device needs to exchange information with the channel switching server. The information exchange takes some time. In addition, data may be corrupted during information exchange and data transmission between the client device and the channel switching server due to packet losses on an Internet Protocol (IP) network.
In the prior art, to shorten channel switching time and ensure channel switching quality, the client first sends a fast channel switching request to the server, and then the server sends the description information of a new channel and the load description information and load information of data streams to the client in unicast mode afterward or simultaneously after receiving the fast channel switching request. After a period of time, the client sends to a multicast server an Internet Group Management Protocol (IGMP) request for joining a multicast group. After the join, the client starts receiving the primary multicast stream. After receiving the multicast stream, the client sends the sequence number (SN) information of the first Real-time Transport Protocol (RTP) packet in the multicast stream to the channel switching server. The channel switching server determines, according to the received SN information, whether to stop the sending of unicast streams.
During the implementation of the present invention, the inventor finds that the prior art has at least the following weaknesses:
In the prior art, the server continues to send the current data stream when the current data stream received by the client is of failure case. That is, the server cannot know the failure case on the client. Thus, the server cannot recover the channel switching services provided for the client and the client cannot normally play the channel corresponding to the current data stream. That is, the QoE on the client is poor.